Updated: 2023-11-11 15:53:34
Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon Software development is a young profession , and we are still learning the techniques and building the tools to do it effectively . I've been involved in this activity for over three decades and in the last two I've been writing on this website about patterns and practices that make it easier to build useful software . The site began as a place to put my own writing , but I also use it to publish articles by my . colleagues In 2000, I joined Thoughtworks where my role is to learn about the techniques that we've learned to
Updated: 2023-11-11 15:53:33
Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon Agile Software Guide In the last decade agile software development has moved from being a cult technique to an increasing part of the mainstream . I was lucky enough to be at the beginning of this story , with early experiences on the birth project' of Extreme Programming and a co-author of the Manifesto for Agile Software Development Thoughtworks started using agile techniques in 2000 and we've since successfully used them on our projects world-wide . We've learned a huge amount about using agile methods in enterprise
Updated: 2023-11-11 15:53:25
To use the Mastodon web application , please enable JavaScript . Alternatively , try one of the native apps for Mastodon for your platform .
Updated: 2023-11-11 15:53:25
Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon Software Delivery Guide I use the term 201C software delivery 201D to indicate the steps from a developer finishing work on a new feature , to that feature being used in production . In my younger days , the time for this would typically measured in months . One of the great advances in software development in the last two decades has been cutting this time , sometimes down to minutes . This means that features are used to generate value more quickly , both increasing the return on investment to build that feature , and
Updated: 2023-11-11 15:53:22
Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon Domain-Specific Languages Guide A Domain-Specific Language DSL is a computer language that's targeted to a particular kind of problem , rather than a general purpose language that's aimed at any kind of software problem . Domain-specific languages have been talked about , and used for almost as long as computing has been . done DSLs are very common in computing : examples include CSS , regular expressions , make , ant , SQL , many bits of Rails , expectations in JMock , graphviz's dot language , strut's configuration file
Updated: 2023-11-11 15:53:16
Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : team organization Remote versus Co-located Work There isn't a simple dichotomy of remote versus co-located work , instead there are several patterns of distribution for teams each of which has different trade-offs and effective techniques suitable for them . While it's impossible to determine conclusive evidence , my sense is that most groups are more productive working in a co-located manner . But you can build a more productive team by using a distributed working model , because it gives you access to a
Updated: 2023-11-11 15:53:16
Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : enterprise architecture Products Over Projects Software projects are a popular way of funding and organizing software development . They organize work into temporary , build-only teams and are funded with specific benefits projected in a business case . Product-mode instead uses durable , ideate-build-run teams working on a persistent business issue . Product-mode allows teams to reorient quickly , reduces their end-to-end cycle time , and allows validation of actual benefits by using short-cycle iterations
Updated: 2023-11-11 15:53:09
Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : application architecture Microservices Guide The microservice architectural pattern is an approach to developing a single application as a suite of small services , each running in its own process and communicating with lightweight mechanisms , often an HTTP resource API . These services are built around business capabilities and independently deployable by fully automated deployment machinery . There is a bare minimum of centralized management of these services , which may be written in different programming
Updated: 2023-11-11 15:53:01
Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : technical debt Is High Quality Software Worth the Cost A common debate in software development projects is between spending time on improving the quality of the software versus concentrating on releasing more valuable features . Usually the pressure to deliver functionality dominates the discussion , leading many developers to complain that they don't have time to work on architecture and code quality . This debate is based on the assumption that increasing quality also increases costs , which is our common